<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
  <script src="../js/vue.js"></script>
  <script src="js/dayjs.min.js"></script>
</head>

<body>
  <!-- 
      
     -->
  <div id="root">
    <h2>显示格式化后的时间</h2>
    <!-- 计算属性实现 -->
    <h3>现在是:{{fmtTime}}</h3>
    <!-- methods实现 -->
    <h3>现在是:{{getFmtTime()}}</h3>
    <!-- 过滤器实现 -->
    <h3>现在是:{{time | timeFormater}}</h3>

    <!-- 过滤器传参 -->
    <h3>现在是:{{time | timeFormater('YYYY-MM-DD') | mySlice}}</h3>

    第一个vue实例: {{msg}}
  </div>

  <div id="root2">{{msg}}</div>

  <script>
    Vue.filter('mySlice', function (value) {
      return value.slice(0, 4);
    });
    const vm = new Vue({
      el: '#root',
      data: {
        time: 1621561375432,
        msg: '这里是第一个实例',
      },
      computed: {
        fmtTime() {
          return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss');
        },
      },
      methods: {
        getFmtTime() {
          return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss');
        },
      },
      filters: {
        timeFormater(value, str = '') {
          console.log('time的值会传入', value);
          return dayjs(value).format('YYYY-MM-DD HH:mm:ss');
        },
        mySlice(value) {
          return value.slice(0, 4);
        },
      },
    });

    new Vue({
      el: '#root2',
      data: {
        msg: 'cool',
      },
    });
  </script>
</body>

</html>